Skip to content

Conversation

@nickolas-deboom
Copy link
Contributor

This change removes Off as a default value from supportedFanModes attribute for the Thermostat device type. Thermostats typically never support turning off the fan, but after switching from thermostatFanMode to fanMode it became an option.

@github-actions
Copy link

@github-actions
Copy link

github-actions bot commented Dec 17, 2025

Test Results

   71 files    480 suites   0s ⏱️
2 482 tests 2 482 ✅ 0 💤 0 ❌
4 263 runs  4 263 ✅ 0 💤 0 ❌

Results for commit f0de5ed.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Dec 17, 2025

File Coverage
All files 91%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/thermostat_utils/legacy_device_configuration.lua 86%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/thermostat_utils/embedded_cluster_utils.lua 95%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/thermostat_utils/utils.lua 92%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/thermostat_utils/device_configuration.lua 91%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/thermostat_handlers/attribute_handlers.lua 80%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/thermostat_handlers/capability_handlers.lua 88%
/home/runner/work/SmartThingsEdgeDrivers/SmartThingsEdgeDrivers/drivers/SmartThings/matter-thermostat/src/init.lua 98%

Minimum allowed coverage is 90%

Generated by 🐒 cobertura-action against f0de5ed

@nickolas-deboom nickolas-deboom force-pushed the exclude-off-mode-from-fan-mode-for-thermostats branch from c823475 to f0de5ed Compare January 6, 2026 19:43
supported_fan_modes_attribute = supported_fan_modes_capability.supportedAcFanModes
elseif device:supports_capability_by_id(capabilities.thermostatFanMode.ID) then
supported_fan_modes_attribute = capabilities.thermostatFanMode.supportedThermostatFanModes
supported_fan_modes_capability = capabilities.thermostatFanMode
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure I understand why this variable was introduced. Seems like it might be adding extra complexity without reason?

Copy link
Contributor Author

@nickolas-deboom nickolas-deboom Jan 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was needed for the get_latest_state call in the logic down below. As we discussed, some of this logic won't be needed, so this variable can be removed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants